Character based search and discovery of media content

ABSTRACT

Mechanisms are provided for character-based and image-based media content search and discovery. Character images or entity images are mapped to corresponding media content. Selection of an image or a portion of an image may trigger or search for corresponding media content or begin playback of relevant media content. Character images or entity images need not correspond to a primary program character or object but may correspond to minor characters or tangential entities depicted periodically on particular programs.

TECHNICAL FIELD

The present disclosure relates to character-based search and discoveryof media content.

DESCRIPTION OF RELATED ART

A variety of conventional mechanisms allow for media discovery.Different text-based and image-based program guides allow navigation toparticular programs and shows. For instance, a user can enter textsearch string to identify content having descriptions corresponding tothe text search string. Snapshots of video clips may be presented on apage to the user along with title and content descriptions. Numerousmechanisms allow for search and discovery of media content.

However, many media discovery mechanisms remain heavily text-focused.Consequently, techniques are provided to improve search and discovery ofmedia content.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure may best be understood by reference to the followingdescription taken in conjunction with the accompanying drawings, whichillustrate particular embodiments.

FIG. 1 illustrates one example of a system that can use the techniquesand mechanisms of the present invention.

FIG. 2 illustrates one example of a character-based media search anddiscovery screen.

FIG. 3 illustrates one example of a technique for generating informationfor character- and entity-based media discovery.

FIG. 4 illustrates one example of a technique for performing character-and entity-based media content discovery.

FIG. 5 illustrates one example of a computer system.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Reference will now be made in detail to some specific examples of theinvention including the best modes contemplated by the inventors forcarrying out the invention. Examples of these specific embodiments areillustrated in the accompanying drawings. While the invention isdescribed in conjunction with these specific embodiments, it will beunderstood that it is not intended to limit the invention to thedescribed embodiments. On the contrary, it is intended to coveralternatives, modifications, and equivalents as may be included withinthe spirit and scope of the invention as defined by the appended claims.

For example, the techniques of the present invention will be describedin the context of particular operations and types of content. However,it should be noted that the techniques of the present invention apply toa variety of operations and types of content. In the followingdescription, numerous specific details are set forth in order to providea thorough understanding of the present invention. Particular exampleembodiments of the present invention may be implemented without some orall of these specific details. In other instances, well known processoperations have not been described in detail in order not tounnecessarily obscure the present invention.

Various techniques and mechanisms of the present invention willsometimes be described in singular form for clarity. However, it shouldbe noted that some embodiments include multiple iterations of atechnique or multiple instantiations of a mechanism unless notedotherwise. For example, a system uses a processor in a variety ofcontexts. However, it will be appreciated that a system can use multipleprocessors while remaining within the scope of the present inventionunless otherwise noted. Furthermore, the techniques and mechanisms ofthe present invention will sometimes describe a connection between twoentities. It should be noted that a connection between two entities doesnot necessarily mean a direct, unimpeded connection, as a variety ofother entities may reside between the two entities. For example, aprocessor may be connected to memory, but it will be appreciated that avariety of bridges and controllers may reside between the processor andmemory. Consequently, a connection does not necessarily mean a direct,unimpeded connection unless otherwise noted.

Overview

Mechanisms are provided for character-based and image-based mediacontent search and discovery. Character images or entity images aremapped to corresponding media content. Selection of an image or aportion of an image may trigger a search for corresponding media contentor begin playback of relevant media content. Character images or entityimages need not correspond to a primary program character or object butmay correspond to minor characters or tangential entities depictedperiodically on particular programs.

Example Embodiments

Conventional media search and discovery mechanisms are text-focused.Information is typically provided at the channel, show, and episodelevel with title, content description, and possibly show snapshotspresented to a user often in grid type formats. A user navigates to aparticular channel, show, and episode and select the episode to beginplayback of that episode. In some instances, video clips are providedwith show snapshots, title, and content description and playback beginswith selection of the title or snapshot.

However, mechanisms for performing character- or entity-based searchesare limited. For example, if a viewer wants to navigate to videosportraying the character Swiper the Fox, the viewer may navigate to timeslots and select particular episodes of Dora the Explorer™. Theseepisodes of Dora the Explorer™ may or may not feature Swiper the Fox.The user would then have to browse through a selection of show titles,if available, to guess which shows might feature Swiper the Fox. In someinstances, there may be websites that feature Swiper the Fox and fansmay have indicated where Swiper the Fox was prominently featured.However, out-of-band search still does not allow easy access to shows,clips, or segments featuring Swiper the Fox.

Consequently, the techniques and mechanisms of the present inventionidentify programs, movies, clips, and segments featuring a particularcharacter or entity. In some examples, segments may be portions of ashow or program. In particular embodiments, the segments are manuallyidentified, delineated, and tagged. In other instances, the segments areidentified automatically by using image recognition or voice recognitionalgorithms to identify particular characters or entities. In still otherexamples, web content is scanned or crawled to identify segments thatfeature particular characters or entities.

According to various embodiments, a viewer may wish to find segmentsfeaturing the pyramids. There may be some media content explicitlyfeaturing pyramids in the title or content description. However, theremay be numerous other segments featuring pyramids that may not readilybe identifiable. Consequently, when a user selects an image of apyramid, the techniques and mechanisms of the present invention provideprograms, movies, shows, clips, advertisements, and media segments thatdepict pyramids. Media segments may be mere 5 second segments or run farlonger.

In some examples, various images that include multiple characters andentities may be presented to a viewer to allow a viewer to select acharacter or entity. The selection of the character or entity canimmediately playback media featuring the character or entity or triggera search for media content featuring the character or entity. The searchresults may be automatically played for the user after display of theresults for a predetermined period of time.

FIG. 1 is a diagrammatic representation illustrating one example of asystem that can use the techniques and mechanisms of the presentinvention. According to various embodiments, content servers 119, 121,123, and 125 are configured to provide media content to a mobile device101. In some examples, media content may be provided using protocolssuch as HTTP, RTP, and RTCP. Although a mobile device 101 is shown, itshould be recognized that other devices such as set top boxes andcomputer systems can also be used. In particular examples, the contentservers 119, 121, 123, and 125 can themselves establish sessions withmobile devices and stream video and audio content to mobile devices.However, it is recognized that in many instances, a separate controllersuch as controller 105 or controller 107 can be used to perform sessionmanagement using a protocol such as RTSP. It is recognized that contentservers require the bulk of the processing power and resources used toprovide media content to mobile devices. Session management itself mayinclude far fewer transactions. Consequently, a controller can handle afar larger number of mobile devices than a content server can. In someexamples, a content server can operate simultaneously with thousands ofmobile devices, while a controller performing session management canmanage millions of mobile devices simultaneously.

By separating out content streaming and session management functions, acontroller can select a content server geographically close to a mobiledevice 101. It is also easier to scale, as content servers andcontrollers can simply be added as needed without disrupting systemoperation. A load balancer 103 can provide further efficiency duringsession management by selecting a controller with low latency and highthroughput.

According to various embodiments, the content servers 119, 121, 123, and125 have access to a campaign server 143. The campaign server 143provides profile information for various mobile devices 101. In someexamples, the campaign server 143 is itself a content server or acontroller. The campaign server 143 can receive information fromexternal sources about devices such as mobile device 101. Theinformation can be profile information associated with various users ofthe mobile device including interests and background. The campaignserver 143 can also monitor the activity of various devices to gatherinformation about the devices. The content servers 119, 121, 123, and125 can obtain information about the various devices from the campaignserver 143. In particular examples, a content server 125 uses thecampaign server 143 to determine what type of media clips a user on amobile device 101 would be interested in viewing.

According to various embodiments, the content servers 119, 121, 123, and125 can also receive media streams from content providers such assatellite providers or cable providers and send the streams to devices.In particular examples, content servers 119, 121, 123, and 125 accessdatabase 141 to obtain desired content that can be used to supplementstreams from satellite and cable providers. In one example, a mobiledevice 101 requests a particular stream. A controller 107 establishes asession with the mobile device 101 and the content server 125 beginsstreaming the content to the mobile device 101. In particular examples,the content server 125 obtains profile information from campaign server143.

In some examples, the content server 125 can also obtain profileinformation from other sources, such as from the mobile device 101itself. Using the profile information, the content server can select aclip from a database 141 to provide to a user. In some instances, theclip is injected into a live stream without affecting mobile deviceapplication performance. In other instances, the live stream itself isreplaced with another live stream. The content server handles processingto make the transition between streams and clips seamless from the pointof view of a mobile device application. In still other examples,advertisements from a database 141 can be intelligently selected from adatabase 141 using profile information from a campaign server 143 andused to seamlessly replace default advertisements in a live stream.Content servers 119, 121, 123, and 125 have the capability to manipulatepackets to allow introduction and removal of media content, tracks,metadata, etc.

FIG. 2 illustrates one example of a search and discovery screen.According to various embodiments, the search and discovery screen 201includes a plurality of character images 211, 213, 215, 217, 219, and221. Selection of a character image 211, 213, 215, 217, 219, or 221 cantrigger immediate playback of a media segment depicting a correspondingcharacter, trigger a search for relevant media content, trigger delayedplayback of media content after search results are shown, etc. Inparticular embodiments, a background image 231 includes selectablecharacters and entities 241, 243, 245, 247, 249, and 251. Selection of acharacter or entity image 241, 243, 245, 247, 249, and 251 can triggerimmediate playback of a media segment depicting a correspondingcharacter or entity, trigger a search for relevant media content,trigger delayed playback of media content after search results areshown, etc. It should be noted that although a particular configurationof character images and entity images is shown, a variety ofconfigurations are possible. In some examples, only character images oronly entity images may be displayed. In other examples, a combination ofcharacter images and entity images may be selectable in a dynamicallyvarying sequence. In some examples, character images and entity imagesmay be selectable in a video.

According to various embodiments, character images and background imagesmay change automatically over time or may change after user interaction.In particular embodiments, a viewer may click a button or a wheel torotate character images on and off of a display. A variety of characterimages and entity images may be shown. In some examples, only abackground image may be shown. In other examples, multiple images eachwith multiple characters and entities may be displayed on a single page.In some examples, selectable images and entities may be highlightedduring navigation to show selectability.

In some examples, viewers may be able to select multiple images toidentify clips featuring both of those characters or entities. Forexample, a viewer may select an image of an actor and a particularvehicle, to identify segments featuring the actor and that vehicle. Inother examples, a viewer may select images of two cartoon characters toidentify segments featuring both of those cartoon characters.

FIG. 3 illustrates one example of a technique for identifying mediasegments. According to various embodiments, a character based mediasearch and discovery system identifies multiple characters and entitiesat 301. The characters may be actors, actresses, cartoon characters,puppets, fictional characters, computer animated individuals, etc. Theentities may be objects, places, things, as well as types of scenes suchas action sequences, romantic scenes, etc. According to variousembodiments, media content from a source such as a media content libraryis scanned at 303. The scan may be performed manually or by using imagerecognition and voice recognition algorithms to identify particularcharacters and entities. In some examples, image recognition isperformed at 305 and voice recognition is performed at 307 to identifycharacters and entities.

According to various embodiments, media segments are delineated, tagged,and/or linked to corresponding character images and entity images at309. In some instances, media segments may be delineated by specifyingstart points and end points. Tags may include character names, entitynames, and likelihood of relevance. In some instances, segments may havetags associated with multiple characters and entities. At 311, mediasegments are ordered based on relevance. A selection of a particularcharacter image may begin playback of a media segment having the highestrelevance. In other examples, selection of a particular character orentity image may present a listing of media segments having the highestrelevance.

FIG. 4 illustrates a particular example of a technique for performingcharacter-based and entity-based media search and discovery. Accordingto various embodiments, one or more character and/or entity images arepresented to a viewer at 401. In particular embodiments, a viewerselection of one or more character and/or entity images is received at403. At 405, media segments corresponding to the selected images areidentified. The media segments may be portions of a program, and entiremovie, a video clip, etc. At 407, media segments having the highestrelevance are returned to the viewer. In some examples, playback of thesegment with the highest relevance begins immediately at 409. In otherexamples, media segment options are presented to the viewer in order ofrelevance at 411.

According to various embodiments, a media segment request is receivedfrom the viewer at 413 and the media segment is streamed to the viewerat 415. According to various embodiments, the duration the viewerwatches the media segment is monitored to determine how relevant themedia segment was to the user at 417. If the viewer watches a highpercentage of the media segment or watches for an extended period oftime, the media segment relevance score for the corresponding characteror entity image is increased at 419. If the viewer watches a lowpercentage of the media segment or watches for a limited period of time,the media segment relevance score may be decreased at 421.

FIG. 5 illustrates one example of a server. According to particularembodiments, a system 500 suitable for implementing particularembodiments of the present invention includes a processor 501, a memory503, an interface 511, and a bus 515 (e.g., a PCI bus or otherinterconnection fabric) and operates as a streaming server. When actingunder the control of appropriate software or firmware, the processor 501is responsible for modifying and transmitting media content to a client.Various specially configured devices can also be used in place of aprocessor 501 or in addition to processor 501. The interface 511 istypically configured to send and receive data packets or data segmentsover a network.

Particular examples of interfaces supported include Ethernet interfaces,frame relay interfaces, cable interfaces, DSL interfaces, token ringinterfaces, and the like. In addition, various very high-speedinterfaces may be provided such as fast Ethernet interfaces, GigabitEthernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces,FDDI interfaces and the like. Generally, these interfaces may includeports appropriate for communication with the appropriate media. In somecases, they may also include an independent processor and, in someinstances, volatile RAM. The independent processors may controlcommunications-intensive tasks such as packet switching, media controland management.

According to various embodiments, the system 500 is a content serverthat also includes a transceiver, streaming buffers, and a program guidedatabase. The content server may also be associated with subscriptionmanagement, logging and report generation, and monitoring capabilities.In particular embodiments, the content server can be associated withfunctionality for allowing operation with mobile devices such ascellular phones operating in a particular cellular network and providingsubscription management capabilities. According to various embodiments,an authentication module verifies the identity of devices includingmobile devices. A logging and report generation module tracks mobiledevice requests and associated responses. A monitor system allows anadministrator to view usage patterns and system availability. Accordingto various embodiments, the content server handles requests andresponses for media content-related transactions while a separatestreaming server provides the actual media streams.

Although the foregoing invention has been described in some detail forpurposes of clarity of understanding, it will be apparent that certainchanges and modifications may be practiced within the scope of theappended claims. Therefore, the present embodiments are to be consideredas illustrative and not restrictive and the invention is not to belimited to the details given herein, but may be modified within thescope and equivalents of the appended claims.

What is claimed is:
 1. A method comprising: presenting a plurality ofcharacter images simultaneously on a display; receiving, from a viewer,a viewer selection of a first character image from the plurality ofcharacter images; identifying a plurality of media segments, including afirst media segment, wherein the plurality of media segments aredelineated, tagged, and linked to corresponding character images in theplurality of character images, the first media segment having thehighest relevance with the first character image based on a relevancescore, the relevance score indicating how relevant a media segment is tothe viewer, the relevance score indicating how much the first mediasegment corresponds to the first character image; beginning playback ofthe first media segment on the display upon identifying the first mediasegment, wherein playback begins automatically in response to receivingthe viewer selection of the first character image; monitoring a durationthat the viewer watches the first media segment having the highestrelevance with the first character image, wherein the duration that theviewer watches the first media segment is one factor for adjusting therelevance score; increasing the relevance score based on the durationthat the viewer watches the first media segment exceeding a thresholdamount of time such that increased relevance score indicates that thefirst media segment has a higher correspondence to the first characterimage; and decreasing the relevance score based on the duration that theviewer watches the first media segment being less than the thresholdamount of time such that relevance score indicates that the first mediasegment has a lower correspondence to the first character image.
 2. Themethod of claim 1, wherein a plurality of entity images are presentedwith the plurality of character images simultaneously.
 3. The method ofclaim 1, wherein a viewer selects the first character image and a secondcharacter image.
 4. The method of claim 3, wherein the first mediasegment has the highest relevance with both the first character imageand the second character image.
 5. The method of claim 1, wherein aviewer selects the first character image and a first entity image. 6.The method of claim 5, wherein the first media segment has the highestrelevance with both the first character image and the first entityimage.
 7. The method of claim 1, wherein the media segment is a portionof a media program.
 8. The method of claim 1, wherein the media segmentis a full media program.
 9. A system comprising: a display operable topresent a plurality of character images simultaneously on a display; aninterface operable to receive, from a viewer, a viewer selection of afirst character image from the plurality of character images; and aprocessor operable to: identify a plurality of media segments, includinga first media segment, wherein the plurality of media segments aredelineated, tagged, and linked to corresponding character images in theplurality of character images, the first media segment having thehighest relevance with the first character image based on a relevancescore, the relevance score indicating how relevant a media segment is tothe viewer, the relevance score indicating how much the first mediasegment corresponds to the first character image; begin playback of thefirst media segment on the display upon identifying the first mediasegment, wherein playback begins automatically in response to receivingthe viewer selection of the first character image; monitor a durationthat the viewer watches the first media segment having the highestrelevance with the first character image, wherein the duration that theviewer watches the first media segment is one factor for adjusting therelevance score; increase the relevance score based on the duration thatthe viewer watches the first media segment exceeding a threshold amountof time such that increased relevance score indicates that the firstmedia segment has a higher correspondence to the first character image;and decrease the relevance score based on the duration that the viewerwatches the first media segment being less than the threshold amount oftime such that relevance score indicates that the first media segmenthas a lower correspondence to the first character image.
 10. The systemof claim 9, wherein a plurality of entity images are presented with theplurality of character images simultaneously.
 11. The system of claim 9,wherein a viewer selects the first character image and a secondcharacter image.
 12. The system of claim 11, wherein the first mediasegment has the highest relevance with both the first character imageand the second character image.
 13. The system of claim 9, wherein aviewer selects the first character image and a first entity image. 14.The system of claim 13, wherein the first media segment has the highestrelevance with both the first character image and the first entityimage.
 15. The system of claim 9, wherein the media segment is a portionof a media program.
 16. The system of claim 9, wherein the media segmentis a full media program.
 17. A non-transitory computer readable mediumcomprising: computer code for presenting a plurality of character imagessimultaneously on a display; computer code for receiving, from a viewer,a viewer selection of a first character image from the plurality ofcharacter images; computer code for identifying a plurality of mediasegments, including a first media segment, wherein the plurality ofmedia segments are delineated, tagged, and linked to correspondingcharacter images in the plurality of character images, the first mediasegment having the highest relevance with the first character imagebased on a relevance score, the relevance score indicating how relevanta media segment is to the viewer, the relevance score indicating howmuch the first media segment corresponds to the first character image;computer code for beginning playback of the first media segment on thedisplay upon identifying the first media segment, wherein playbackbegins automatically in response to receiving the viewer selection ofthe first character image; computer code for monitoring a duration thatthe viewer watches the first media segment having the highest relevancewith the first character image, wherein the duration that the viewerwatches the first media segment is one factor for adjusting therelevance score; computer code for increasing the relevance score basedon the duration that the viewer watches the first media segmentexceeding a threshold amount of time such that increased relevance scoreindicates that the first media segment has a higher correspondence tothe first character image; and computer code for decreasing therelevance score based on the duration that the viewer watches the firstmedia segment being less than the threshold amount of time such thatrelevance score indicates that the first media segment has a lowercorrespondence to the first character image.
 18. The non-transitorycomputer readable medium of claim 17, wherein a plurality of entityimages are presented with the plurality of character imagessimultaneously.
 19. The non-transitory computer readable medium of claim17, wherein a viewer selects the first character image and a secondcharacter image.
 20. The non-transitory computer readable medium ofclaim 19, wherein the first media segment has the highest relevance withboth the first character image and the second character image.